Network bandwidth control

ABSTRACT

A system for controlling the bandwidth allocated to a network connection between two nodes. The system receives a bandwidth change request, and generates and sends control commands to network switches of the connection in order to satisfy the change request. A bandwidth control interface, available over the Internet, has code for generating a display of bandwidths available for selection; code for receiving a bandwidth selection chosen from the bandwidths; and code for sending the change request to the network to adjust the bandwidth on the basis of the selection. The interface provides a bandwidth dial representation of the bandwidths that can be selected.

RELATION TO PREVIOUSLY FILED APPLICATION

[0001] Priority is claimed from applicants' co-pending U.S. provisionalpatent application serial No. 60/292,010 filed on May 18, 2001 entitled“Network Bandwidth Control.”

FIELD OF THE INVENTION

[0002] The present invention relates to communications networks, and inparticular to a system for controlling the bandwidth allocated to anetwork connection.

BACKGROUND OF THE INVENTION

[0003] Wideband communications networks are established by networkproviders to allow communication between a customer's sites. Forexample, a customer may have a network 46 established between asingle-tenanted building 40 and a multi-tenanted building 30 indifferent cities, to establish a corporate virtual local area network(VLAN), as shown in FIG. 1. The network 46 may comprise a widebandinternet protocol (IP) core 44, linked to the buildings with opticalfibre, and interfaced through network switches 32, 34 to customerpremises equipment (CPE) 36,42. The cost to the customer will dependupon the bandwidth of the network connection between the sites. Ingeneral, customers will want to keep the bandwidth provisioned to theirnetwork as low as practical to minimise costs. However, there may be anoccasional need for increased bandwidth to support high throughputapplications.

[0004] In existing networks, customers may request additional bandwidthfrom the network provider by informing a customer servicerepresentative. After the request is approved, it is passed to networkpersonnel who reconfigure the network to allocate the required bandwidthto the customer's network. However, this process may not occur rapidlyenough to meet the customer's needs. Moreover, the customer may onlyneed the additional bandwidth for a short period of time, possibly evenas little as several minutes. The high cost of the extra bandwidth makesit desirable to be able to reduce the allocated bandwidth after thecustomer's short-term needs have been satisfied. It is desired,therefore, to provide a system for controlling the bandwidth allocatedto a network connection, or at least a useful alternative to existingsystems.

SUMMARY OF THE INVENTION

[0005] In accordance with the present invention there is provided asystem for controlling the bandwidth allocated to a network connectionbetween two nodes, including:

[0006] means for receiving a bandwidth change request;

[0007] means for generating control commands to control a plurality ofnetwork elements of said network connection in order to satisfy saidchange request; and

[0008] means for sending said commands to said network elements.

[0009] The present invention also provides a method of controllingbandwidth allocated to a network connection, including:

[0010] receiving a bandwidth change request from a remote computersystem over a communications network;

[0011] identifying at least one switch requiring a configuration changeto satisfy said request; and

[0012] generating and sending a configuration change command to saidswitch.

[0013] The present invention also provides a bandwidth control interfaceincluding:

[0014] code for generating a display of bandwidths available forselection;

[0015] code for receiving a bandwidth selection, said selection beingchosen from said bandwidths; and

[0016] code for sending a request to a network to adjust a bandwidth ofsaid network on the basis of said selection.

BRIEF DESCRIPTION OF THE DRAWINGS

[0017] A preferred embodiment of the present invention is hereinafterdescribed, by way of example only, with reference to the accompanyingdrawings, wherein:

[0018]FIG. 1 is a schematic diagram of a wideband IP network connectingtwo buildings;

[0019]FIG. 2 is a block diagram of a preferred embodiment of a bandwidthcontrol system;

[0020]FIG. 3 is a screenshot image of a preferred embodiment of a userinterface for the bandwidth control system;

[0021] FIGS. 4 to 5 are screenshot images of a bandwidth controlcomponent of the interface; and

[0022]FIG. 6 is a flow diagram of a process executed by the bandwidthcontrol system.

DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT OF THE INVENTION

[0023] A bandwidth control system 100, as shown in FIG. 2, includes acustomer web server 11, a network control system, 2, a network modeldatabase 3, and a rating engine 5. The bandwidth control system 100allows the customers and personnel of a network service provider todynamically adjust the bandwidth provisioned between two nodes of acustomer's network by adjusting user interface controls provided over acommunications network 10. An implementation of the bandwidth controlsystem 100 is described where components of the system are provided bysoftware modules stored and executed on otherwise known computersystems. For example, the web server 11 may be a personal computerrunning a Windows' operating system, and the network control system 2,database 3 and the rating engine 5 may be implemented on a workstationfrom Sun Microsystems', running Solaris' 2.7, an Oracle' databaseapplication, and an Oracle' application server. The network 10 used isthe Internet in the described implementation. It will be apparent tothose skilled in the art that a number of the software modules andhardware components of the bandwidth control system 100 may bedistributed or combined in a variety of ways and at a number ofdifferent locations and at least some of the steps executed by thesoftware modules may be executed by hardware circuits, such asapplication-specific integrated circuits (ASICs).

[0024] The control system 100 can be used to control a VLAN or virtualprivate network (VPN) 46 between two buildings for a customerorganisation, as shown in FIG. 1, and established by a network provider.The network 46 uses optical fibres to connect a single-tenanted building40 with a multi-tenanted building 30, and the buildings may be indifferent cities. The network uses optical fibres to connect thebuildings through a wideband IP core 44 with Cisco 6500 series switches38. The customer equipment 36, 42 in the single and multi-tenantedbuildings 40, 30 are interfaced to the optical fibres by Cisco 3500series and 6500 ethernet switches, 34, 32, respectively. The network 46may be currently configured to provide a bandwidth of 146 Mbps betweenthe two buildings 30, 40. The customer may wish to trial a new networksoftware application that itself requires high throughput between thetwo buildings, and the customer estimates that a throughput of 800 Mbpsis required, but only for a 30 minute period during the trial. Thecontrol system 100 can be used to allocate the extra bandwidth byexecuting the following described below with reference to FIG. 6.

[0025] In order to allocate the extra bandwidth, the customer launches aweb browser application on a personal computer 12. The computer 12 isconnected to the Internet 10, but not necessarily through the customer'snetwork. For example, the Internet 10 may be accessed from thecustomer's home through a modem and an Internet service provider (ISP).Once connected to the Internet 10, the customer enters a universalresource locator (URL) (or URI) into the web browser, which directs thebrowser to a site operated to the network service provider.Specifically, the URL directs the browser to a network firewall 1 whichprovides secure access to the customer web server 11 of the networkprovider. In order to gain access to the web server 11, the customermust login to the firewall 1 using a valid username, password, and adynamically generated identification number generated by a SecurIDauthenticator provided by RSA Security, Inc.

[0026] After logging in to the firewall 1, the customer accesses thenetwork provider web server 11 (step 500). Using the web browser, thecustomer selects a hyperlink to a dynamic web page that generates anetwork bandwidth interface 300, as shown in FIG. 3 (step 502). Thedynamic web page is written in hypertext markup language (HTML) andJavaScript. The interface 300 includes a bandwidth control component 302for selecting and activating a new bandwidth value, and a bandwidthdisplay component 320 for displaying customer network details, includingthe site address of a switch or switches 32, 34, 38 to be confirmed, andthe currently configured network bandwidth.

[0027] The bandwidth control interface 300 includes a series of buttons312 and corresponding labels 316 that allow the customer to select apre-defined range or band of network bandwidths. To the right of thebuttons 312, a circular dial 302 displays up to eight pre-definedbandwidth values within the selected band. The circular dial 302 isdivided into eight pie segments, as in a pie chart, with each availablebandwidth value assigned to a particular segment. The dial 302 allowsthe customer to select a particular bandwidth by moving a pointer overthe corresponding part of the dial 312, using a pointing device such asa mouse. For example, FIG. 3 shows the interface 300 after pressing thebutton 318 to select the lowest bandwidth band, 10-20 Mbps. With in thisband, the dial 302 displays eight available bandwidth values: 10, 11,12, 13, 14, 15, 16, and 20 Mbps. In this Figure, the bandwidth value of13 Mbps is currently selected, as indicated by the position of the dialindicators 306, the green colour of the corresponding segment 307 of theinner annulus 308, and the value displayed in the dial centre 304.

[0028]FIG. 4 shows the appearance of the bandwidth control interface 300after moving the mouse pointer over the 15 Mbps pie segment 324. Thedial indicators 306 are now positioned over the 15 Mbps pie segment 324,the corresponding annular segment 309 is green, and the dial centre 304displays the value “15 Mbps”. Not all of the bands have eight bandwidthsavailable. For example, FIG. 5 shows the bandwidth control interface 300after pressing the “500-1000 Mbps” button 322. There are only fourbandwidth values available in this band: 500, 600, 800, and 1000 Mbps,with “800 Mbps” currently selected.

[0029] To activate the selected bandwidth, the submit button 314 ispressed (step 504). Upon receiving the corresponding request, the webserver 11 executes a script that submits the bandwidth request to thenetwork control system 2 (step 506). The network control system 2receives the bandwidth request and performs a query on the network modeldatabase 3 in order to verify that the request is valid. This requiresverification that the requested bandwidth is supported by the customer'snetwork (step 508). If the request is valid, then further queries areperformed on the database 3 in order to identify the switches in thecustomer network 46 whose configurations must be changed in order tosatisfy the bandwidth request, and the appropriate format of the commandthat must be sent to each switch (step 510). Given the customer andsite, the network model database 3 provides the IP addresses of theseswitches.

[0030] The configuration of a Cisco switch may be changed by sendingcommands to the switch using a command-line interface and the telnetprotocol. For example, to change the rate-limit configuration of a VLANnamed ‘vlan-name’ in a Cisco 6500-series switch to 20 Mbps (20480 kbps),the following command would be sent:

set qos policer aggregate vlan-name rate 20480 burst 32 drop

[0031] This is a request to change the quality-of-service (QOS) trafficpolicing policy for aggregate (i.e., all) traffic on ‘vlan0name’ to be20480 kbps, with a 32 kbps burst capacity above the stated rate-limit,and to drop any traffic that is outside the rate-limit profile.

[0032] The network control system 2 creates a child process for eachswitch that needs to be changed. Each child process runs an Expectscript that sends the appropriate command to the nominated switch andrecords the response from the switch (step 512). When all of the childprocesses have terminated, the network control system 2 analyses theswitch responses. If the switch responses indicate that all of the QOSchanges were successful, then the network control system 2 performs anumber of tasks. One task is to send a message to the server 11,indicating that the bandwidth change was successful. When the server 11receives the notification, it generates a notification window with an“OK” button on the customer's web browser, indicating that the networkchange was successful. When the customer clicks “OK” to dismiss thenotification window, the web page including the bandwidth controlinterface is refreshed. This generates a query to the network modeldatabase 3 for the current network bandwidth configuration in order tocorrectly update the bandwidth display component 320 of the interface.Another task performed by the network control system 2 is to generateand send an email message to the customer, indicating the changes thatwere made to the network (step 514).

[0033] Another task performed by the network control system 2 when thebandwidth is changed is to generate a charging record and send it to therating engine 5 (step 516). The charging record includes informationsuch as the date and time the change was made, who made the change, aVPN identification code, a billing identifier, the network property thatwas changed, and the new value of the property. The rating engine 5rates the record according to a set of billing business rules and datastored in the network model database 3, and generates consolidatedbilling detail records 7 (step 518). The billing records 7 reflect thenew charges applicable to the new bandwidth value, and a charge forchanging the bandwidth value. The rating engine 5 also generates anemail message summarising the charges, and sends it to the customer. Theconsolidated billing detail records 7 are processed by a RecordsAutomation for Special Services (RASS) robot 8 that enters the detailsinto a RASS order entry and tracking system 18. Records from a RASSsystem 18 are processed by a billing system 24 that generates the finalbill 9 that is sent to the customer.

[0034] The bandwidth control system 100 also allows network providerpersonnel to perform network changes for customers. For example, acustomer may telephone a helpdesk operator and request a bandwidthchange. The operator, using a web browser executing on a personalcomputer 20, accesses a support server 13 and uses the same bandwidthcontrol interface described above to change the bandwidth of thecustomer's network. In either case, if the bandwidth is increased for aperiod of time and then returned to its original value, the customer isonly charged for the increased bandwidth for the time that the networkwas actually configured at that higher bandwidth. However, a fixedcharge applies to every configuration change. The support server 13includes the same code and executes the same steps as the customerserver 11 to generate the control interface 300 and generate and sendbandwidth requests to the network control system 2. The support server13 may be accessed via a private customer support communications network22.

[0035] Whether the bandwidth control system 100 is used by a customerdirectly or by network personnel at a customer's request, the bandwidthcontrol system 100 greatly simplifies the task of reconfiguring networkswitches to change the bandwidth allocated to a customer's network. Thedesired changes are implemented in real-time, and the configuration maybe changed as often as required, subject to a five-minute granularityperiod. If a bandwidth change is requested within five minutes of thepreviously successful bandwidth change, the request is denied and anerror message to that effect is sent to the user's web browser.

[0036] Many modifications will be apparent to those skilled in the artwithout departing from the scope of the present invention as hereindescribed with reference to the accompanying drawings.

What is claimed is:
 1. A system for controlling the bandwidth allocatedto a network connection between two nodes, including: means forreceiving a bandwidth change request; means for generating controlcommands to control a plurality of network elements of said networkconnection in order to satisfy said change request; and means forsending said commands to said network elements.
 2. A system as claimedin claim 1, including a user interface for generating and sending saidbandwidth change request.
 3. A system as claimed in claim 2, including ameans for sending said user interface over a communications network forgeneration of a display of said interface on a remote computer system ofa user of said interface.
 4. A system as claimed in claim 3, whereinsaid interface is a graphical user interface including controls forselecting a value of said bandwidth, said value being included in saidbandwidth change request.
 5. A system as claimed in claim 4, whereinsaid graphical user interface includes controls for selecting one of aplurality of bandwidth ranges, and controls for selecting one of aplurality of bandwidth values falling within the currently selectedrange.
 6. A system as claimed in claim 3, wherein said interfaceincludes a dynamic graphical user interface generated from code sentover said communications network.
 7. A system as claimed in claim 1,including means for determining the network addresses of said pluralityof network elements whose configurations must be changed to satisfy saidchange request.
 8. A system as claimed in claim 1, including means forreceiving and analysing responses from said network elements, and inresponse thereto, sending messages to confirm said change request hasbeen satisfied.
 9. A system as claimed in claim 1, including receivingand analysing responses from said network elements, and generating andsending at least one charging record in response thereto.
 10. A systemas claimed in claim 9, including generating billing data in response toreceipt of said charging record.
 11. A system as claimed in claim 1,including generating and sending an electronic message to said user toconfirm said change of request has been satisfied.
 12. A system asclaimed in claim 1, including means for storing the time ofconfiguration changes of said network elements, and for denying saidchange request if an elapsed time since the time of a previousconfiguration change is less than a pre-determined value.
 13. A systemas claimed in claim 4, including a server having said means for sendingsaid user interface and said means for receiving said bandwidth changerequest; and a network control system having said means for generatingand sending the control commands; said server being in communicationwith said network control system to provide the bandwidth change requestthereto.
 14. A system as claimed in any one of the preceding claims,wherein said network elements are packet switches.
 15. A method ofcontrolling bandwidth allocated to a network connection, including:receiving a bandwidth change request from a remote computer system overa communications network; identifying at least one switch requiring aconfiguration change to satisfy said request; and generating and sendinga configuration change command to said switch.
 16. A method as claimedin claim 15, including receiving a response from said switch and sendinga message to confirm said configuration change in response thereto. 17.A method as claimed in claim 16, including generating and sending acharging record corresponding to said configuration change for use ingenerating billing data.
 18. A method as claimed in claim 15, includingsending a graphical user interface to said remote computer system oversaid communications network for display to a user, said bandwidth changerequest being generated in response to a selection made by said userusing said interface.
 19. A method as claimed in claim 18, wherein saiduser interface is displayed by a browser on said remote computer system.20. A method as claimed in claim 19, wherein said interface provides arepresentation of a bandwidth dial including controls for making saidselection.
 21. A bandwidth control interface including: code forgenerating a display of bandwidths available for selection; code forreceiving a bandwidth selection, said selection being chosen from saidbandwidths; and code for sending a request to a network to adjust abandwidth of said network on the basis of said selection.
 22. Abandwidth control interface as claimed in claim 21, wherein said displayincludes a graphical representation of said bandwidths.
 23. A bandwidthcontrol interface as claimed in claim 22, wherein said representation isof a bandwidth dial.
 24. A bandwidth control interface as claimed inclaim 21, wherein said interface is adapted to be sent on aclient/server network to a client system from a server system togenerate said display.
 25. A bandwidth control interface as claimed inclaim 24, wherein the client/server network is the Internet.
 26. Abandwidth control system including: an interface as claimed in claim 21;and a control system for receiving said request and sending commands tonetwork switches to change said bandwidth of said network on the basisof said selection.